STATE_VM_TERMINATED = "terminated"
STATE_VM_SUSPENDED = "suspended"
+"""Flag for a block device backend domain."""
+SIF_BLK_BE_DOMAIN = (1<<4)
+
+"""Flag for a net device backend domain."""
+SIF_NET_BE_DOMAIN = (1<<5)
+
+"""Flag for a TPM device backend domain."""
+SIF_TPM_BE_DOMAIN = (1<<7)
+
def domain_exists(name):
# See comment in XendDomain constructor.
self.controllers = {}
self.info = None
- self.blkif_backend = False
- self.netif_backend = False
+ self.backend_flags = 0
self.netif_idx = 0
- self.tpmif_backend = False
#todo: state: running, suspended
self.state = STATE_VM_OK
v = sxp.child0(c)
name = sxp.name(v)
if name == 'blkif':
- self.blkif_backend = True
+ self.backend_flags |= SIF_BLK_BE_DOMAIN
elif name == 'netif':
- self.netif_backend = True
+ self.backend_flags |= SIF_NET_BE_DOMAIN
elif name == 'usbif':
- self.usbif_backend = True
+ pass
elif name == 'tpmif':
- self.tpmif_backend = True
+ self.backend_flags |= SIF_TPM_BE_DOMAIN
else:
raise VmError('invalid backend type:' + str(name))
from xen.xend.server import channel
-"""Flag for a block device backend domain."""
-SIF_BLK_BE_DOMAIN = (1<<4)
-
-"""Flag for a net device backend domain."""
-SIF_NET_BE_DOMAIN = (1<<5)
-
-"""Flag for a TPM device backend domain."""
-SIF_TPM_BE_DOMAIN = (1<<7)
-
MAX_GUEST_CMDLINE = 1024
class ImageHandler:
return
# Set params and call buildDomain().
- self.flags = 0
- if self.vm.netif_backend: self.flags |= SIF_NET_BE_DOMAIN
- if self.vm.blkif_backend: self.flags |= SIF_BLK_BE_DOMAIN
- if self.vm.tpmif_backend: self.flags |= SIF_TPM_BE_DOMAIN
+ self.flags = self.vm.backend_flags
if not os.path.isfile(self.kernel):
raise VmError('Kernel image does not exist: %s' % self.kernel)